<?php
use frontend\modules\yii2\widgets\layouts\markdown\Markdown;

$this->title = '安装-redis-数据库-Yii最新教程';
$this->registerMetaTag([
    'name' => 'keywords',
    'content' => 'intall,安装,redis,database,yii,yii2,框架,应用组件,使用,教程'
]);
$this->registerMetaTag([
    'name' => 'description',
    'content' => 'Yii的redis的安装步骤。'
]);
$this->registerMetaTag([
    'name' => 'author',
    'content' => 'chenzhiwei'
]);


$html = [
    "概述" => <<<HTML
# Redis数据库的安装
`Redis`的安装有很多方法，在测试环境和生产环境中一般都是运行在Linux之下，而现在`docker`容器是现在部署服务的优。

## Docker安装法 id=docker-install
您只需要运行如下脚本即可安装好`redis`服务：
```shell
docker run -itd --name myredis \
    -v /mydir/data:/data \
    -v /myredis/conf:/usr/local/etc/redis \
    -p 6379:6379 \
    redis \
    --requirepass pw0123456 \
    --appendonly yes
```

- `-v /mydir/data:/data`：将持久化数据保存在宿主机的`/mydir/data`目录，避免数据因容器销毁而丢失；
- `-v /myredis/conf:/usr/local/etc/redis`：自定义`redis`配置文件；
- `--requirepass pw0123456`：设置`redis`的访问密码（必须放在镜像名称之后）；
- `--appendonly yes`：启动数据持久化（必须放在镜像名称之后）；

## Docker Compose安装法 id=docker-composer-install
在一组服务中，一般采用`docker-compose`来启动服务，参考如下：
```yaml
version: '2'
services:
    redis:
        image: redis:latest
        container_name: dev_redis
        command: redis-server --requirepass pw0123456 --appendonly yes
        volumes:
            - /mydir/redis/data:/data
    php: 
        image: lvzmen/php-fpm: 8.0.7.1
        container_name: dev_php8
        environment: 
            YII_ENV: test
        links:
            - redis:redis_host
        volumes:
            - /mydir/php/www:/var/www/html/yii
        ports: 
            - "80:80"
        depends_on:
            - redis
```
运行如下脚本即可实现服务的安装（[安装docker-compose](/docs/install/docker#docker-compose)）：
```shell
docker-compose up -d
```
> 注意： 上述命令需要在配置文件的同级目录下运行。

**`redis:redis_host`**  
这个配置是在`dev_php8`这个容器中注入`redis_host`这个域名解析到`redis`这个容器，因此您可以在`dev_php8`容器中可以使用`redis_host`当作host访问redis容器，这样可以避免重启容器后IP变化导致的服务异常。
HTML
];


echo Markdown::widget(["content" => implode("\n", $html)]);

